Entwicklung und Implementierung eines hybriden Debuggers für Java
نویسنده
چکیده
Das Debugging ist ein komplexer und arbeitsintensiver Prozess in der Softwareentwicklung. Für das Debugging von Java-Programmen werden bis heute vor allem sogenannte Trace-Debugger verwendet. Diese unterstützen die Fehlersuche, indem sie es ermöglichen, ein untersuchtes Programm schrittweise auszuführen. Im Bereich der Forschung sind viele neue Methoden und Werkzeuge entwickelt worden, die im Vergleich zum Trace-Debugging eine erhebliche Verbesserung und Vereinfachung des Debugging-Prozesses versprechen. Auf die in der Praxis eingesetzten Verfahren hatten diese Entwicklungen bisher nur einen äußert geringen Einfluss. In der vorliegenden Arbeit wird die Entwicklung und Implementierung einer neuen hybriden Debugging-Methode für Java-Programme beschrieben. Die Methode kombiniert deklaratives Debugging und Omniscient-Debugging. Deklaratives Debugging ist eine Methode, deren Ursprünge im Bereich der logischen Programmierung liegen. Im Gegensatz zum Trace-Debugging muss bei dieser Methode der Programmablauf nicht mehr schrittweise nachvollzogen werden. Dies erlaubt es, den Debugging-Prozess von den Details der Implementierung zu abstrahieren. Ein deklarativer Debugger erzeugt einen Berechnungsbaum, der die Struktur des untersuchten Programmablaufs repräsentiert. Die Knoten dieses Baumes repräsentieren Teile des Quelltextes, die während des Programmablaufs ausgeführt wurden. In einem halbautomatischen Debugging-Prozess fordert der Debugger den Benutzer auf, bestimmte Knoten des Baumes zu klassifizieren. Hierbei muss der Benutzer beurteilen, ob die durch einen Knoten repräsentierte Teilberechnung valide ist. Der Debugging-Prozess endet, wenn der Debugger einen defekten Knoten identifiziert hat. Der Teil des Quelltextes, dessen Ausführung durch den defekten Knoten repräsentiert wird, enthält den gesuchten Defekt. Omniscient-Debugging erweitert den Ansatz des Trace-Debugging und ermöglicht es, die Ausführung eines Programms auch rückwärts, d. h. entge-
منابع مشابه
Java Virtual Machines für ressourcenkritische eingebettete Systeme und Smart-Cards
In diesem Beitrag werden Erfahrungen beim Entwurf und der Realisierung verschiedener Java-basierter Systeme beschrieben. Diese Systeme sind auf verschiedene Anforderungen und Anwendungsgebiete zugeschnitten. Zuerst wird die Realisierung einer virtuellen Javamaschine (JVM) für eingebettete PC-basierende Systeme beschrieben. Dabei werden die notwendig gewordenen Modifikationen hervorgehoben, um d...
متن کاملImplementierung algorithmischer Optimierungen für volume rendering in Hardware: Entwicklung und Simulation eines Multithreading-Pipeline-Prozessors zur Visualisierung dreidimensionaler Datensätze
متن کامل
Entwicklung eines agilen Frameworks für Projektunterricht mit Design-Based Research
Fachdidaktische Innovationen stellen Forscher und Praktiker grundsätzlich vor die Herausforderung, Theorie mit Praxis in Einklang zu bringen. Besonders in der Informatik bergen kontinuierliche fachliche Weiterentwicklungen bedeutendes Potential für didaktische und methodische Neuerungen. Der Beitrag skizziert am Beispiel eines agilen Modells für Projekte einen Forschungsprozess, der die Impleme...
متن کاملKundenintegration in die Innovationsprozesse bei hybriden Produkten - eine Bestandsaufnahme
Kunden wünschen zunehmend Komplettlösungen, welche ihre Probleme ganzheitlich lösen, ohne dass sie selbst noch Integrationsleistungen erbringen müssen. Diese Komplettlösungen bestehen oftmals aus Produkt-, Dienstleistungsund Softwarekomponenten, welche zu einem hybriden Produkt integriert und kombiniert werden. Dabei müssen insbesondere die unterschiedlichen Lebenszyklen der Teilkomponenten ber...
متن کاملKonzeption einer avatarbasierten Benutzerschnittstelle für Dienste im Fahrzeug
Die Implementierung neuer Services in Fahrzeugen ist meist mit der Entwicklung neuer Bedienelemente und Anzeigen verbunden. Ein vereinfachender Ansatz für die Gestaltung der Benutzerkommunikation für tertiäre Aufgaben im Fahrzeug kann dabei die Verwendung eines flexiblen Avatarsystems darstellen. Wir beschreiben welche Komponenten Teil eines solchen Systems sind, welche Besonderheiten beim Eins...
متن کامل